<?php

require 'base.php';

class CaricaEventi extends FBController {

    function __construct()
    {
        parent::__construct();
	$this->load->model('events_model','evento');

	if (!$this->isLoggedIn())
		show_error("Solo utenti registrati possono importare eventi", 401);
    }
    function fromFacebook(){
        $importabili = $this->eventi_fb_importabili();
	$events = $importabili['events'];
        if ($events==null){
            //gestire il caso in cui nn ci sono eventi da aggiungere
            show_error("Nessun evento da importare", 412);
        }

        $data['events']=$events;
	$data['facebook'] = $this->facebook;
	$data['titolo_pagina'] = "Importa eventi";
        //print_r($events);
        
	$this->load->view('events_from_facebook',$data);

    }
    function aggiungi_evento_fb(){
	$this->verifica_provenienza_ajax();

        $esito_inserimento = $this->evento->inserisci_evento_fb($this->input->post(NULL,TRUE));
	$this->output->set_content_type('application/json')->set_output(json_encode($esito_inserimento));
    }
    function nascondi_evento_fb() {
	    $this->verifica_provenienza_ajax();
	    $eid = $this->input->post('eid', TRUE);
	    $data = array('eid' => $eid, 'fb_uid' => $this->facebook->getUser());
	    $ret = $this->db->insert('eventi_fb_nascosti', $data);
            $this->output->set_output($ret ? "OK" : "Errore, evento non nascosto");
    }
    function ripristina_evento_nascosto() {
	    $this->verifica_provenienza_ajax();
	    $w = array('fb_uid' => $this->facebook->getUser());
	    if ($this->input->post('eid', TRUE))
		    $w['eid'] = $this->input->post('eid', TRUE);
	    $ret = $this->db->delete('eventi_fb_nascosti', $w);
            $this->output->set_output($ret ? "OK" : "Errore, impossibile ripristinare");
    }

    function elimina() {
	    $this->verifica_provenienza_ajax();

	    $id_evento = $this->input->post('id_evento', TRUE);
	    $info_evento = $this->db->get_where('eventi', array('id_evento' => $id_evento))->result_array();
	    if ($info_evento[0]['id_importatore'] != $this->facebook->getUser()) {
		    $ret = false;
	    } else {
		    // Elimina anche le partecipazioni
		    // (Nota: gli eventi gestiti qui sono sempre gratuiti)
		    $ret = $this->db->delete('reservations', array('id_evento' => $id_evento));
		    if ($ret)
			    $ret = $this->db->delete('eventi', array('id_evento' => $id_evento));
	    }
	    $this->output->set_output($ret ? "OK" : "Errore, impossibile eliminare");
    }
}
